package dto

type BoxInfo struct {
	BoxId      string                 `json:"box_id"`
	BoxName    string                 `json:"box_name"`
	Software   BoxSoftware            `json:"software"`
	Hardware   BoxHardware            `json:"hardware"`
	MetaData   BoxMetaData            `json:"meta_data"`
	IsDisabled bool                   `json:"is_disabled"`
	ReportedAt string                 `json:"reported_at"`
	Services   []BoxServices          `json:"services"`
	Extra      map[string]interface{} `json:"extra"`
	Cameras    map[string]interface{} `json:"cameras"`
	Task       map[string]interface{} `json:"task"`
}

type BoxSoftware struct {
	Version string `json:"version"`
}

type BoxHardware struct {
	Version      string  `json:"version"`
	Model        string  `json:"model"`
	DiskNum      int     `json:"disk_num"`
	DiskInfo     string  `json:"disk_info"`
	ChannelNum   int     `json:"channel_num"`
	SerialNumber string  `json:"serial_number"`
	Temperature  float32 `json:"temperature"`
	CpuRate      float32 `json:"cpu_rate"`
	MemRate      float32 `json:"mem_rate"`
	DiskUsed     float32 `json:"disk_used"`
	DiskAvail    float32 `json:"disk_avail"`
}

type BoxServices struct {
	ServiceId  string `json:"service_id"`
	Version    string `json:"version"`
	Status     int    `json:"status"`
	UpdateTime string `json:"update_time"`
}

